<?php
namespace App\Common\Cla\ClaBase\Traits\Common;

use App\Common as com;

/**
 * 类通用方法->魔术方法->__call->主处理器
 */
trait MagicCall {
	use com\Cla\ClaBase\Traits\Common\MagicCall\Get;

	/**
	 * 魔术方法->call
	 * @param str $name 方法名
	 * @param array $arguments 参数
	 * @return mixed||Exception 返回数据(可能抛出的异常:[get*]com\Cla\Err\Code::$sysDataErrorSeverity。[其他]com\Cla\Err\Code::$sysFunExecuteError)
	 */
	public function __call( $name, $arguments )
	{
		// 取动作类型
		$action = substr( $name, 0, 3 );
		// 处理属性读写
		switch( $action ){
			case 'get':
				return $this->__magicCallOfGet( $name, $arguments );
			default:
				throw com\Lib\Err\Exception::makeOfNew( '', com\Cla\Err\Code::$sysFunExecuteError );
		}
	}
}
